
// 生成唯一ID的函数
function generateUUID(): string {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    const r = Math.random() * 16 | 0,
      v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

// 获取用户ID，如果不存在则创建
function getUserId(): string {
  let userId = wx.getStorageSync('userId');
  if (!userId) {
    userId = generateUUID();
    wx.setStorageSync('userId', userId);
  }
  return userId;
}

Page({
  data: {
    title: '',
    content: ''
  },

  onTitleInput(e: any) {
    this.setData({
      title: e.detail.value
    });
  },

  onContentInput(e: any) {
    this.setData({
      content: e.detail.value
    });
  },

  submitPost() {
    const { title, content } = this.data;
    
    // 验证输入
    if (!title.trim()) {
      wx.showToast({
        title: '请输入标题',
        icon: 'none'
      });
      return;
    }
    
    if (!content.trim()) {
      wx.showToast({
        title: '请输入内容',
        icon: 'none'
      });
      return;
    }

    // 获取用户ID
    const userId = getUserId();
    
    // 创建新帖子
    const newPost = {
      id: generateUUID(),
      title,
      content,
      author: userId,
      authorName: '匿名用户', // 由于不需要登录，使用匿名用户
      createTime: new Date().getTime(),
      comments: []
    };

    // 获取现有帖子列表
    let posts = wx.getStorageSync('posts') || [];
    
    // 添加新帖子
    posts.unshift(newPost);
    
    // 保存到本地存储
    wx.setStorageSync('posts', posts);

    // 显示成功提示
    wx.showToast({
      title: '发表成功',
      icon: 'success',
      duration: 2000,
      success: () => {
        // 清空输入
        this.setData({
          title: '',
          content: ''
        });
        
        // 延迟跳转到首页
        setTimeout(() => {
          wx.switchTab({
            url: '/pages/index/index'
          });
        }, 2000);
      }
    });
  }
});